package com.Beans.Models;

// Generated 17-jul-2014 23:52:14 by Hibernate Tools 3.4.0.CR1

import java.util.Date;
import java.util.HashSet;
import java.util.Set;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import static javax.persistence.GenerationType.IDENTITY;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * Solicitud generated by hbm2java
 */
@Entity
@Table(name = "solicitud", catalog = "blitzdb")
public class Solicitud implements java.io.Serializable {

	private Integer idSolicitud;
	private Empleado empleado;
	private Jefearea jefearea;
	private Recursoinformatico recursoinformatico;
	private Seguridad seguridad;
	private String redactor;
	private String detalleMotivo;
	private String detallePermiso;
	private Date fechaEmision;
	private Date fechaAprobacion;
	private Date fechaRespuesta;
	private Date fechaConformidad;
	private Date fechaCancelacion;
	private Integer idAreaOrigen;
	private Integer idAreaDestino;
	private Integer idServicioInformatico;
	private Set<Trakingestados> trakingestadoses = new HashSet<Trakingestados>(
			0);

	public Solicitud() {
	}

	public Solicitud(Empleado empleado, Jefearea jefearea,
			Recursoinformatico recursoinformatico, Seguridad seguridad,
			String redactor, String detalleMotivo, String detallePermiso,
			Date fechaEmision, Date fechaAprobacion, Date fechaRespuesta,
			Date fechaConformidad, Date fechaCancelacion, Integer idAreaOrigen,
			Integer idAreaDestino, Integer idServicioInformatico,
			Set<Trakingestados> trakingestadoses) {
		this.empleado = empleado;
		this.jefearea = jefearea;
		this.recursoinformatico = recursoinformatico;
		this.seguridad = seguridad;
		this.redactor = redactor;
		this.detalleMotivo = detalleMotivo;
		this.detallePermiso = detallePermiso;
		this.fechaEmision = fechaEmision;
		this.fechaAprobacion = fechaAprobacion;
		this.fechaRespuesta = fechaRespuesta;
		this.fechaConformidad = fechaConformidad;
		this.fechaCancelacion = fechaCancelacion;
		this.idAreaOrigen = idAreaOrigen;
		this.idAreaDestino = idAreaDestino;
		this.idServicioInformatico = idServicioInformatico;
		this.trakingestadoses = trakingestadoses;
	}

	@Id
	@GeneratedValue(strategy = IDENTITY)
	@Column(name = "idSolicitud", unique = true, nullable = false)
	public Integer getIdSolicitud() {
		return this.idSolicitud;
	}

	public void setIdSolicitud(Integer idSolicitud) {
		this.idSolicitud = idSolicitud;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "IdEmpleado")
	public Empleado getEmpleado() {
		return this.empleado;
	}

	public void setEmpleado(Empleado empleado) {
		this.empleado = empleado;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "IdJefeArea")
	public Jefearea getJefearea() {
		return this.jefearea;
	}

	public void setJefearea(Jefearea jefearea) {
		this.jefearea = jefearea;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "IdRI")
	public Recursoinformatico getRecursoinformatico() {
		return this.recursoinformatico;
	}

	public void setRecursoinformatico(Recursoinformatico recursoinformatico) {
		this.recursoinformatico = recursoinformatico;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "IdSeguridad")
	public Seguridad getSeguridad() {
		return this.seguridad;
	}

	public void setSeguridad(Seguridad seguridad) {
		this.seguridad = seguridad;
	}

	@Column(name = "Redactor", length = 80)
	public String getRedactor() {
		return this.redactor;
	}

	public void setRedactor(String redactor) {
		this.redactor = redactor;
	}

	@Column(name = "DetalleMotivo", length = 800)
	public String getDetalleMotivo() {
		return this.detalleMotivo;
	}

	public void setDetalleMotivo(String detalleMotivo) {
		this.detalleMotivo = detalleMotivo;
	}

	@Column(name = "DetallePermiso", length = 400)
	public String getDetallePermiso() {
		return this.detallePermiso;
	}

	public void setDetallePermiso(String detallePermiso) {
		this.detallePermiso = detallePermiso;
	}

	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "FechaEmision", length = 0)
	public Date getFechaEmision() {
		return this.fechaEmision;
	}

	public void setFechaEmision(Date fechaEmision) {
		this.fechaEmision = fechaEmision;
	}

	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "FechaAprobacion", length = 0)
	public Date getFechaAprobacion() {
		return this.fechaAprobacion;
	}

	public void setFechaAprobacion(Date fechaAprobacion) {
		this.fechaAprobacion = fechaAprobacion;
	}

	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "FechaRespuesta", length = 0)
	public Date getFechaRespuesta() {
		return this.fechaRespuesta;
	}

	public void setFechaRespuesta(Date fechaRespuesta) {
		this.fechaRespuesta = fechaRespuesta;
	}

	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "FechaConformidad", length = 0)
	public Date getFechaConformidad() {
		return this.fechaConformidad;
	}

	public void setFechaConformidad(Date fechaConformidad) {
		this.fechaConformidad = fechaConformidad;
	}

	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "FechaCancelacion", length = 0)
	public Date getFechaCancelacion() {
		return this.fechaCancelacion;
	}

	public void setFechaCancelacion(Date fechaCancelacion) {
		this.fechaCancelacion = fechaCancelacion;
	}

	@Column(name = "IdAreaOrigen")
	public Integer getIdAreaOrigen() {
		return this.idAreaOrigen;
	}

	public void setIdAreaOrigen(Integer idAreaOrigen) {
		this.idAreaOrigen = idAreaOrigen;
	}

	@Column(name = "IdAreaDestino")
	public Integer getIdAreaDestino() {
		return this.idAreaDestino;
	}

	public void setIdAreaDestino(Integer idAreaDestino) {
		this.idAreaDestino = idAreaDestino;
	}

	@Column(name = "IdServicioInformatico")
	public Integer getIdServicioInformatico() {
		return this.idServicioInformatico;
	}

	public void setIdServicioInformatico(Integer idServicioInformatico) {
		this.idServicioInformatico = idServicioInformatico;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "solicitud")
	public Set<Trakingestados> getTrakingestadoses() {
		return this.trakingestadoses;
	}

	public void setTrakingestadoses(Set<Trakingestados> trakingestadoses) {
		this.trakingestadoses = trakingestadoses;
	}

}
